package com.example.androidstart;


import static com.example.androidstart.util.MotionEventUtils.getMotionEventName;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;

public class MotionEventDistributeActivity extends Activity {

    private static final String TAG = "Activity";

    private TextView mButtonView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_motion_event_distribute);

//        findViewById(R.id.root_layout).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Log.d(TAG, "onClick: viewRootLayout");
//            }
//        });
        findViewById(R.id.button1).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // false不消耗，true消耗事件
                return false;
            }
        });
//        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Log.d(TAG, "onClick: click button1");
//            }
//        });
//        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Log.d(TAG, "onClick: click button2");
//            }
//        });
        // 1.点击Button时，ViewGroup不拦截，将事件传递到子view中，子view消耗
        // 2.点击空白区域，遍历子view找不到处理事件的view，于是回到容器自己寻找是否有监听事件，并进行处理
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        Log.i(TAG, "dispatchTouchEvent: " + getMotionEventName(ev));
        return super.dispatchTouchEvent(ev);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.i(TAG, "onTouchEvent: " + getMotionEventName(event));
        return super.onTouchEvent(event);
    }
}